The PCP 3 is specifically designed to connect to a 4-inch (10-cm) Memjet printhead 2. The printhead 2 is used as a page-width printer, producing a 4-inch wide printed image without having to be moved. Instead, paper 20 is printed on as it moves past the printhead 2, as shown in FIG. 4.
2.1 COMPOSITION OF 4-INCH PRINTHEAD 
Each 4-inch printhead 2 consists of 8 segments, each segment 1/2 an inch in length. Each of the segments 21 prints bi-level cyan, magenta and yellow dots over a different part of the page to produce the final image. The positions of the segments are shown in FIG. 5.
Since the printhead 2 prints dots at 1600 dpi, each dot is 22.5 μm in diameter, and spaced 15.875 μm apart. Thus each half-inch segment prints 800 dots, with the 8 segments corresponding to positions:
TABLE 1Final Image Dots Addressed by Each SegmentSegmentFirst dotLast dot0079918001,59921,6002,39932,4003,19943,2003,99954,0004,79964,8005,59975,6006,399
Although each segment 21 produces 800 dots of the final image, each dot is represented by a combination of bi-level cyan, magenta, and yellow ink. Because the printing is bi-level, the input image should be dithered or error-diffused for best results.
Each segment 21 then contains 2400 nozzles: 800 each of cyan, magenta, and yellow. A four-inch printhead 2 contains 8 such segments 21 for a total of 19,200 nozzles.
2.1.1 Grouping of Nozzles within a Segment
The nozzles 22 within a single segment 21 are grouped for reasons of physical stability as well as minimization of power consumption during printing. In terms of physical stability, a total of 10 nozzles share the same ink reservoir. In terms of power consumption, groupings are made to enable a low-speed and a high-speed printing mode.
The printhead 2 supports two printing speeds to allow different speed/power trade-offs to be made in different product configurations.
In the low-speed printing mode, 96 nozzles 22 are fired simultaneously from each 4-inch printhead 2. The fired nozzles should be maximally distant, so 12 nozzles 22 are fired from each segment. To fire all 19,200 nozzles, 200 different sets of 96 nozzles must be fired.
In the high-speed printing mode, 192 nozzles 22 are fired simultaneously from each 4-inch printhead 2. The fired nozzles 22 should be maximally distant, so 24 nozzles are fired from each segment. To fire all 19,200 nozzles, 100 different sets of 192 nozzles must be fired.
The power consumption in the low-speed mode is half that of the high-speed mode. Note however, that the energy consumed to print a line, and hence a page, is the same in both cases.
In a scenario such as a battery powered Printcam, the power consumption requirements dictate the use of low-speed printing.
2.1.1.110 Nozzles Make a Pod
A single pod 23 consists of 10 nozzles 22 sharing a common ink reservoir. 5 nozzles 22 are in one row, and 5 are in another. Each nozzle 22 produces dots approximately 22.5 μm in diameter spaced on a 15.875 μm grid. FIG. 6 shows the arrangement of a single pod, with the nozzles 22 numbered according to the order in which they must be fired.
Although the nozzles 22 are fired in this order, the relationship of nozzles 22 and physical placement of dots on the printed page is different. The nozzles 22 from one row represent the even dots from one line on the page, and the nozzles on the other row represent the odd dots from the adjacent line on the page. FIG. 7 shows the same pod 23 with the nozzles 22 numbered according to the order in which they must be loaded.
The nozzles 22 within a pod 23 are therefore logically separated by the width of 1 dot. The exact distance between the nozzles 22 will depend on the properties of the Memjet firing mechanism. The printhead 2 is designed with staggered nozzles designed to match the flow of paper 20.
2.1.1.23 Pods Make a Chromapod
One pod 23 of each color (cyan, magenta, and yellow) are grouped into a chromapod 24. A chromapod 24 represents different color components of the same horizontal set of 10 dots, on different lines. The exact distance between different color pods 23 depends on the Memjet operating parameters, and may vary from one Memjet design to another. The distance is considered to be a constant number of dot-widths, and must therefore be taken into account when printing: the dots printed by the cyan nozzles will be for different lines than those printed by the magenta or yellow nozzles. The printing algorithm must allow for a variable distance up to about 8 dot-widths between colors (see Table 3 for more details). FIG. 8 illustrates a single chromapod 24.
2.1.1.35 Chromapods Make a Podgroup
5 chromapods 24 are organized into a single podgroup 25. Since each chromapod contains 30 nozzles 22, each podgroup contains 150 nozzles 22: 50 cyan, 50 magenta, and 50 yellow nozzles. The arrangement is shown in FIG. 9, with chromapods numbered 0-4. Note that the distance between adjacent chromapods is exaggerated for clarity.
2.1.1.42 Podgroups Make a Phasegroup
2 podgroups 25 are organized into a single phasegroup 26. The phasegroup 26 is so named because groups of nozzles 23 within a phasegroup are fired simultaneously during a given firing phase (this is explained in more detail below). The formation of a phasegroup from 2 podgroups 25 is entirely for the purposes of low-speed and high-speed printing via 2 PodgroupEnable lines.
During low-speed printing, only one of the two PodgroupEnable lines is set in a given firing pulse, so only one podgroup of the two fires nozzles. During high-speed printing, both PodgroupEnable lines are set, so both podgroups fire nozzles. Consequently a low-speed print takes twice as long as a high-speed print, since the high-speed print fires twice as many nozzles at once.
FIG. 10 illustrates the composition of a phasegroup. The distance between adjacent podgroups is exaggerated for clarity.
2.1.1.52 Phasegroups Make a Firegroup
Two phasegroups (PhasegroupA and PhasegroupB) are organized into a single firegroup 27, with 4 firegroups in each segment. Firegroups 27 are so named because they all fire the same nozzles 27 simultaneously. Two enable lines, AEnable and BEnable, allow the firing of PhasegroupA nozzles and PhasegroupB nozzles independently as different firing phases. The arrangement is shown in FIG. 11. The distance between adjacent groupings is exaggerated for clarity.
2.1.1.6 Nozzle Grouping Summary
Table 2 is a summary of the nozzle groupings in a printhead.
TABLE 2Nozzle Groupings for a single 4-inch printheadRepli-cationNozzleName of GroupingCompositionRatioCountNozzle 22Base unit1:11Pod 23Nozzles per pod10:1 10Chromapod 24Pods per CMY chromapod3:130Podgroup 25Chromapods per podgroup5:1150Phasegroup 26Podgroups per phasegroup2:1300Firegroup 27Phasegroups per firegroup2:1600Segment 21Firegroups per segment4:12,4004-inch printhead 2Segments per 4-inch printhead8:119,2002.2 LOAD AND PRINT CYCLES 
A single 4-inch printhead 2 contains a total of 19,200 nozzles 22. A Print Cycle involves the firing of up to all of these nozzles, dependent on the information to be printed. A Load Cycle involves the loading up of the printhead with the information to be printed during the subsequent Print Cycle.
Each nozzle 22 has an associated NozzleEnable bit that determines whether or not the nozzle will fire during the Print Cycle. The NozzleEnable bits (one per nozzle) are loaded via a set of shift registers.
Logically there are 3 shift registers per segment (one per color), each 800 long. As bits are shifted into the shift register for a given color they are directed to the lower and upper nozzles on alternate pulses. Internally, each 800-deep shift register is comprised of two 400-deep shift registers: one for the upper nozzles, and one for the lower nozzles. Alternate bits are shifted into the alternate internal registers. As far as the external interface is concerned however, there is a single 800 deep shift register.
Once all the shift registers have been fully loaded (800 load pulses), all of the bits are transferred in parallel to the appropriate NozzleEnable bits. This equates to a single parallel transfer of 19,200 bits. Once the transfer has taken place, the Print Cycle can begin. The Print Cycle and the Load Cycle can occur simultaneously as long as the parallel load of all NozzleEnable bits occurs at the end of the Print Cycle.
2.2.1 Load Cycle
The Load Cycle is concerned with loading the printhead's shift registers with the next Print Cycle's NozzleEnable bits.
Each segment 21 has 3 inputs directly related to the cyan, magenta, and yellow shift registers. These inputs are called CDataIn, MDataIn and YDataIn. Since there are 8 segments, there are a total of 24 color input lines per 4-inch printhead. A single pulse on the SRClock line (shared between all 8 segments) transfers the 24 bits into the appropriate shift registers. Alternate pulses transfer bits to the lower and upper nozzles respectively. Since there are 19,200 nozzles, a total of 800 pulses are required for the transfer. Once all 19,200 bits have been transferred, a single pulse on the shared PTransfer line causes the parallel transfer of data from the shift registers to the appropriate NozzleEnable bits.
The parallel transfer via a pulse on PTransfer must take place after the Print Cycle has finished. Otherwise the NozzleEnable bits for the line being printed will be incorrect.
Since all 8 segments 21 are loaded with a single SRClock pulse, any printing process must produce the data in the correct sequence for the printhead. As an example, the first SRClock pulse will transfer the CMY bits for the next Print Cycle's dot 0, 800, 1600, 2400, 3200, 4000, 4800, and 5600. The second SRClock pulse will transfer the CMY bits for the next Print Cycle's dot 1, 801, 1601, 2401, 3201, 4001, 4801 and 5601. After 800 SRClock pulses, the PTransfer pulse can be given.
It is important to note that the odd and even CMY outputs, although printed during the same Print Cycle, do not appear on the same physical output line. The physical separation of odd and even nozzles within the printhead, as well as separation between nozzles of different colors ensures that they will produce dots on different lines of the page. This relative difference must be accounted for when loading the data into the printhead. The actual difference in lines depends on the characteristics of the inkjet mechanism used in the printhead. The differences can be defined by variables D1 and D2 where D1 is the distance between nozzles of different colors, and D2 is the distance between nozzles of the same color. Table 3 shows the dots transferred to segment n of a printhead on the first 4 pulses.
TABLE 3Order of Dots Transferred to a 4-inch PrintheadPulseDotYellow LineMagenta LineCyan Line1800S1NN + D12N + 2D12800S + 1N + D23N + D1 + D2N + 2D1 + D23800S + 2NN + D1N + 2D14800S + 3N + D2N + D1 + D2N + 2D1 + D21S = segment number (0-7) 2D1 = number of lines between the nozzles of one color and the next (likely = 4-8) 3D2 = number of lines between two rows of nozzles of the same color (likely = 1) 
And so on for all 800 pulses.
Data can be clocked into the printhead at a maximum rate of 20 MHz, which will load the entire data for the next line in 40 μs.
2.2.2 Print Cycle
A 4-inch printhead 2 contains 19,200 nozzles 22. To fire them all at once would consume too much power and be problematic in terms of ink refill and nozzle interference. Consequently two firing modes are defined: a low-speed print mode and a high-speed print mode:                In the low-speed print mode, there are 200 phases, with each phase firing 96 nozzles. This equates to 12 nozzles per segment, or 3 per firegroup.        In the high-speed print mode, there are 100 phases, with each phase firing 192 nozzles. This equates to 24 nozzles per segment, or 6 per firegroup.        The nozzles to be fired in a given firing pulse are determined by        3 bits ChromapodSelect (select 1 of 5 chromapods 24 from a firegroup 27)        4 bits NozzleSelect (select 1 of 10 nozzles 22 from a pod 23)        2 bits of PodgroupEnable lines (select 0, 1, or 2 podgroups 25 to fire)        
When one of the PodgroupEnable lines is set, only the specified Podgroup's 4 nozzles will fire as determined by ChromapodSelect and NozzleSelect. When both of the PodgroupEnable lines are set, both of the podgroups will fire their nozzles. For the low-speed mode, two fire pulses are required, with PodgroupEnable=10 and 01 respectively. For the high-speed mode, only one fire pulse is required, with PodgroupEnable=11.
The duration of the firing pulse is given by the AEnable and BEnable lines, which fire the PhasegroupA and PhasegroupB nozzles from all firegroups respectively. The typical duration of a firing pulse is 1.3-1.8 μs. The duration of a pulse depends on the viscosity of the ink (dependent on temperature and ink characteristics) and the amount of power available to the printhead. See Section 2.3 on page 18 for details on feedback from the printhead in order to compensate for temperature change.
The AEnable and BEnable are separate lines in order that the firing pulses can overlap. Thus the 200 phases of a low-speed Print Cycle consist of 100 A phases and 100 B phases, effectively giving 100 sets of Phase A and Phase B. Likewise, the 100 phases of a high-speed print cycle consist of 50 A phases and 50 B phases, effectively giving 50 phases of phase A and phase B.
FIG. 12 shows the AEnable and BEnable lines during a typical Print Cycle. In a high-speed print there are 50 2 μs cycles, while in a low-speed print there are 100 2 μs cycles.
For the high-speed printing mode, the firing order is:                ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 2, NozzleSelect 0, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 3, NozzleSelect 0, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 4, NozzleSelect 0, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 0, NozzleSelect 1, PodgroupEnable 11 (Phases A and B)        . . .        ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 11 (Phases A and B)        ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 11 (Phases A and B)        
For the low-speed printing mode, the firing order is similar. For each phase of the high speed mode where PodgroupEnable was 11, two phases of PodgroupEnable=01 and 10 are substituted as follows:                ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 01 (Phases A and B)        ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 10 (Phases A and B)        ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 01 (Phases A and B)        ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 10 (Phases A and B)        . . .        ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 01 (Phases A and B)        ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 10 (Phases A and B)        ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 01 (Phases A and B)        ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 10 (Phases A and B)        
When a nozzle 22 fires, it takes approximately 100 μs to refill. The nozzle 22 cannot be fired before this refill time has elapsed. This limits the fastest printing speed to 100 μs per line. In the high-speed print mode, the time to print a line is 100 μs, so the time between firing a nozzle from one line to the next matches the refill time, making the high-speed print mode acceptable. The low-speed print mode is slower than this, so is also acceptable.
The firing of a nozzle 22 also causes acoustic perturbations for a limited time within the common ink reservoir of that nozzle's pod 23. The perturbations can interfere with the firing of another nozzle within the same pod 23. Consequently, the firing of nozzles within a pod should be offset from each other as long as possible. We therefore fire three nozzles from a chromapod 24 (one nozzle 22 per color) and then move onto the next chromapod 24 within the podgroup 25.                In the low-speed printing mode the podgroups 25 are fired separately. Thus the 5 chromapods 24 within both podgroups must all fire before the first chromapod fires again, totalling 10×2 μs cycles. Consequently each pod 23 is fired once per 20 μs.        In the high-speed printing mode, the podgroups 25 are fired together. Thus the 5 chromapods 24 within a single podgroup must all fire before the first chromapod fires again, totalling 5×2 μs cycles. Consequently each pod 23 is fired once per 10 μs.        
As the ink channel is 300 μm long and the velocity of sound in the ink is around 1500 m/s, the resonant frequency of the ink channel is 2.5 MHz, thus the low speed mode allows 50 resonant cycles for the acoustic pulse to dampen, and the high speed mode allows 25 resonant cycles. Thus any acoustic interference is minimal in both cases.
2.2.3 Sample Timing
As an example, consider the timing of printing an 4′×6″ photo in 2 seconds, as is required by Printcam. In order to print a photo in 2 seconds, the 4-inch printhead must print 9600 lines (6×1600). Rounding up to 10,000 lines in 2 seconds yields a line time of 200 μs. A single Print Cycle and a single Load Cycle must both finish within this time. In addition, a physical process external to the printhead must move the paper an appropriate amount.
From the printing point of view, the low-speed print mode allows a 4-inch printhead to print an entire line in 200 μs. In the low-speed print mode, 96 nozzles 22 fire per firing pulse, thereby enabling the printing of an entire line within the specified time.
The 800 SRClock pulses to the printhead 2 (each clock pulse transferring 24 bits) must also take place within the 200 μs line time. The length of an SRClock pulse cannot exceed 200 μs/800=250 ns, indicating that the printhead must be clocked at 4 MHz. In addition, the average time to calculate each bit value (for each of the 19,200 nozzles) must not exceed 200 μs/19,200=10 ns. This requires a dot generator running at one of the following speeds:                100 MHz generating 1 bit (dot) per cycle        50 MHz generating 2 bits (dots) per cycle        25 MHz generating 4 bits (dots) per cycle2.3 FEEDBACK FROM THE PRINTHEAD         
The printhead 2 produces several lines of feedback (accumulated from the 8 segments). The feedback lines are used to adjust the timing of the firing pulses. Although each segment 21 produces the same feedback, the feedback from all segments share the same tri-state bus lines. Consequently only one segment 21 at a time can provide feedback.
A pulse on the SenseSegSelect line ANDed with data on Cyan enables the sense lines for that segment. The feedback sense lines will come from the selected segment until the next SenseSegSelect pulse. The feedback sense lines are as follows:                Tsense informs the controller how hot the printhead is. This allows the controller to adjust timing of firing pulses, since temperature affects the viscosity of the ink.        Vsense informs the controller how much voltage is available to the actuator. This allows the controller to compensate for a flat battery or high voltage source by adjusting the pulse width.        Rsense informs the controller of the resistivity (Ohms per square) of the actuator heater. This allows the controller to adjust the pulse widths to maintain a constant energy irrespective of the heater resistivity.        Wsense informs the controller of the width of the critical part of the heater, which may vary up to ±5% due to lithographic and etching variations. This allows the controller to adjust the pulse width appropriately.2.4 SPECIAL CYCLES 2.4.1 Preheat Cycle        
The printing process has a strong tendency to stay at the equilibrium temperature. To ensure that the first section of the printed photograph has a consistent dot size, the equilibrium temperature must be met before printing any dots. This is accomplished via a preheat cycle.
The Preheat cycle involves a single Load Cycle to all nozzles with 1s (i.e. setting all nozzles to fire), and a number of short firing pulses to each nozzle. The duration of the pulse must be insufficient to fire the drops, but enough to heat up the ink. Altogether about 200 pulses for each nozzle are required, cycling through in the same sequence as a standard Print Cycle.
Feedback during the Preheat mode is provided by Tsense, and continues until equilibrium temperature is reached (about 30° C. above ambient). The duration of the Preheat mode is around 50 milliseconds, and depends on the ink composition.
Preheat is performed before each print job. This does not affect printer performance, as it is done while the page data is transferred to the printer.
2.4.2 Cleaning Cycle
In order to reduce the chances of nozzles becoming clogged, a cleaning cycle can be undertaken before each print job. Each nozzle is be fired a number of times into an absorbent sponge.
The cleaning cycle involves a single Load Cycle to all nozzles with 1s (i.e. setting all nozzles to fire), and a number of firing pulses to each nozzle. The nozzles are cleaned via the same nozzle firing sequence as a standard Print Cycle. The number of times that each nozzle 22 is fired depends upon the ink composition and the time that the printer has been idle, as with preheat, the cleaning cycle has no effect on printer performance.
2.5 PRINTHEAD INTERFACE SUMMARY 
A single 4-inch printhead 2 has the following connections:
TABLE 4Four-Inch Printhead ConnectionsName#PinsDescriptionChromapodSelect3Select which chromapod will fire (0-4)NozzleSelect4Select which nozzle from the pod will fire (0-9)PodgroupEnable2Enable the podgroups to fire (choice of: 01, 10, 11)AEnable1Firing pulse for phasegroup ABEnable1Firing pulse for phasegroup BCDataIn[0-7]8Cyan input to cyan shift register of segments 0-7MDataIn[0-7]8Magenta input to magenta shift register of segments 0-7YDataIn[0-7]8Yellow input to yellow shift register of segments 0-7SRClock1A pulse on SRClock (ShiftRegisterClock) loads the currentvalues from CDataIn[0-7], MDataIn[0-7] andYDataIn[0-7] into the 24 shift registers.PTransfer1Parallel transfer of data from the shift registers to theinternal NozzleEnable bits (one per nozzle).SenseSegSelect1A pulse on SenseSegSelect ANDed with data on CDataIn[n]selects the sense lines for segment n.Tsense1Temperature senseVsense1Voltage senseRsense1Resistivity senseWsense1Width senseLogic GND1Logic groundLogic PWR1Logic powerV−BusActuator GroundV+barActuator PowerTOTAL44
Internal to the 4-inch printhead, each segment has the following connections to the bond pads:
TABLE 5Four-Inch Printhead Internal Segment ConnectionsName#PinsDescriptionChromapod-3Select which chromapod will fire (0-4)SelectNozzleSelect4Select which nozzle from the pod will fire (0-9)Podgroup-2Enable the podgroups to fire (choice of: 01, 10, 11)EnableAEnable1Firing pulse for phasegroup ABEnable1Firing pulse for phasegroup BCDataIn1Cyan input to cyan shift registerMDataIn1Magenta input to magenta shift registerYDataIn1Yellow input to yellow shift registerSRClock1A pulse on SRClock (ShiftRegisterClock) loads thecurrent values from CDataIn, MDataIn and YDataIninto the 3 shift registers.PTransfer1Parallel transfer of data from the shift registers tothe internal NozzleEnable bits (one per nozzle).SenseSeg-1A pulse on SenseSegSelect ANDed with data onSelectCDataIn selects the sense lines for this segment.Tsense1Temperature senseVsense1Voltage senseRsense1Resistivity senseWsense1Width senseLogic GND1Logic groundLogic PWR1Logic powerV−21Actuator GroundV+21Actuator PowerTOTAL65(65 × 8 segments = 520 for all segments)